#include <cstdio>
#include <cstdlib>
#include <cassert>
#include <cstring>
#ifdef __cplusplus
    #include <cstdlib>
#else
    #include <stdlib.h>
#endif
#ifdef __APPLE__
#include <SDL/SDL.h>
#else
#include <SDL.h>
#endif
#include "Affichage.h"
#include <windows.h>
#include <SDL/SDL_ttf.h>
#include <ctime>

#include "Joueur.H"
#include "DesJoueurs.H"
#include "Affichage.H"

void initDesJoueurs(SDL_Surface* ecran, DesJoueurs & dj,int nbJoueurs)
{
    dj.NbJoueurs=nbJoueurs;

    dj.DesJoueurs=new Joueur[nbJoueurs];
    int i;
    for(i=0;i<nbJoueurs;i++)
    {
        initJoueur(ecran, dj.DesJoueurs[i],i+1);
    }
}


Joueur& joueurNumPassageDesJoueurs(DesJoueurs & dj,int num)
{
    assert( num>=0 );
    assert( num<dj.NbJoueurs );
    return dj.DesJoueurs[num];
}


Joueur& nomJoueurDesJoueurs(DesJoueurs & dj,char* nom,int nbJoueurs)
{
    Joueur j;
    for(int i=0;i<nbJoueurs;i++)
    {
        j=joueurNumPassageDesJoueurs(dj,i);
        if(strcmp(nom,nomJoueur(j)) == 0)
        {
            return dj.DesJoueurs[i];
        }
    }
}


void eliminationDesJoueurs(DesJoueurs & dj)
{
    for(int i=1;i<=dj.NbJoueurs;i++)
    {
        eliminationJoueur(dj.DesJoueurs[i-1]);
    }
    if (dj.DesJoueurs!=NULL)
    {
        delete [] dj.DesJoueurs;
        dj.DesJoueurs = NULL;
        dj.NbJoueurs=0;
    }
}
